commonlibsse_ng\re\t\TESCondition/
function_id.rs

1/// Bethesda keeps these in a giant lookup table
2/// using func_t = bool(TESObjectREFR* a_thisObj, void* a_param1, void* a_param2, double& a_result);
3#[commonlibsse_ng_derive_internal::ffi_enum]
4#[repr(u16)]
5#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
6pub enum FunctionID {
7    GetWantBlocking = 0,
8    GetDistance = 1,
9    AddItem = 2,
10    SetEssential = 3,
11    Rotate = 4,
12    GetLocked = 5,
13    GetPos = 6,
14    SetPos = 7,
15    GetAngle = 8,
16    SetAngle = 9,
17    GetStartingPos = 10,
18    GetStartingAngle = 11,
19    GetSecondsPassed = 12,
20    Activate = 13,
21    GetActorValue = 14,
22    SetActorValue = 15,
23    ModActorValue = 16,
24    SetAtStart = 17,
25    GetCurrentTime = 18,
26    PlayGroup = 19,
27    LoopGroup = 20,
28    SkipAnim = 21,
29    StartCombat = 22,
30    StopCombat = 23,
31    GetScale = 24,
32    IsMoving = 25,
33    IsTurning = 26,
34    GetLineOfSight = 27,
35    AddSpell = 28,
36    RemoveSpell = 29,
37    Cast = 30,
38    GetButtonPressed = 31,
39    GetInSameCell = 32,
40    Enable = 33,
41    Disable = 34,
42    GetDisabled = 35,
43    MenuMode = 36,
44    PlaceAtMe = 37,
45    PlaySound = 38,
46    GetDisease = 39,
47    FailAllObjectives = 40,
48    GetClothingValue = 41,
49    SameFaction = 42,
50    SameRace = 43,
51    SameSex = 44,
52    GetDetected = 45,
53    GetDead = 46,
54    GetItemCount = 47,
55    GetGold = 48,
56    GetSleeping = 49,
57    GetTalkedToPC = 50,
58    Say = 51,
59    SayTo = 52,
60    GetScriptVariable = 53,
61    StartQuest = 54,
62    StopQuest = 55,
63    GetQuestRunning = 56,
64    SetStage = 57,
65    GetStage = 58,
66    GetStageDone = 59,
67    GetFactionRankDifference = 60,
68    GetAlarmed = 61,
69    IsRaining = 62,
70    GetAttacked = 63,
71    GetIsCreature = 64,
72    GetLockLevel = 65,
73    GetShouldAttack = 66,
74    GetInCell = 67,
75    GetIsClass = 68,
76    GetIsRace = 69,
77    GetIsSex = 70,
78    GetInFaction = 71,
79    GetIsID = 72,
80    GetFactionRank = 73,
81    GetGlobalValue = 74,
82    IsSnowing = 75,
83    FastTravel = 76,
84    GetRandomPercent = 77,
85    RemoveMusic = 78,
86    GetQuestVariable = 79,
87    GetLevel = 80,
88    IsRotating = 81,
89    RemoveItem = 82,
90    GetLeveledEncounterValue = 83,
91    GetDeadCount = 84,
92    AddToMap = 85,
93    StartConversation = 86,
94    Drop = 87,
95    AddTopic = 88,
96    ShowMessage = 89,
97    SetAlert = 90,
98    GetIsAlerted = 91,
99    Look = 92,
100    StopLook = 93,
101    EvaluatePackage = 94,
102    SendAssaultAlarm = 95,
103    EnablePlayerControls = 96,
104    DisablePlayerControls = 97,
105    GetPlayerControlsDisabled = 98,
106    GetHeadingAngle = 99,
107    PickIdle = 100,
108    IsWeaponMagicOut = 101,
109    IsTorchOut = 102,
110    IsShieldOut = 103,
111    CreateDetectionEvent = 104,
112    IsActionRef = 105,
113    IsFacingUp = 106,
114    GetKnockedState = 107,
115    GetWeaponAnimType = 108,
116    IsWeaponSkillType = 109,
117    GetCurrentAIPackage = 110,
118    IsWaiting = 111,
119    IsIdlePlaying = 112,
120    CompleteQuest = 113,
121    Lock = 114,
122    UnLock = 115,
123    IsIntimidatedByPlayer = 116,
124    IsPlayerInRegion = 117,
125    GetActorAggroRadiusViolated = 118,
126    GetCrimeKnown = 119,
127    SetEnemy = 120,
128    SetAlly = 121,
129    GetCrime = 122,
130    IsGreetingPlayer = 123,
131    StartMisterSandMan = 124,
132    IsGuard = 125,
133    StartCannibal = 126,
134    HasBeenEaten = 127,
135    GetStaminaPercentage = 128,
136    GetPCIsClass = 129,
137    GetPCIsRace = 130,
138    GetPCIsSex = 131,
139    GetPCInFaction = 132,
140    SameFactionAsPC = 133,
141    SameRaceAsPC = 134,
142    SameSexAsPC = 135,
143    GetIsReference = 136,
144    SetFactionRank = 137,
145    ModFactionRank = 138,
146    KillActor = 139,
147    ResurrectActor = 140,
148    IsTalking = 141,
149    GetWalkSpeed = 142,
150    GetCurrentAIProcedure = 143,
151    GetTrespassWarningLevel = 144,
152    IsTrespassing = 145,
153    IsInMyOwnedCell = 146,
154    GetWindSpeed = 147,
155    GetCurrentWeatherPercent = 148,
156    GetIsCurrentWeather = 149,
157    IsContinuingPackagePCNear = 150,
158    SetCrimeFaction = 151,
159    GetIsCrimeFaction = 152,
160    CanHaveFlames = 153,
161    HasFlames = 154,
162    AddFlames = 155,
163    RemoveFlames = 156,
164    GetOpenState = 157,
165    MoveToMarker = 158,
166    GetSitting = 159,
167    GetFurnitureMarkerID = 160,
168    GetIsCurrentPackage = 161,
169    IsCurrentFurnitureRef = 162,
170    IsCurrentFurnitureObj = 163,
171    SetSize = 164,
172    RemoveMe = 165,
173    DropMe = 166,
174    GetFactionReaction = 167,
175    SetFactionReaction = 168,
176    ModFactionReaction = 169,
177    GetDayOfWeek = 170,
178    IgnoreCrime = 171,
179    GetTalkedToPCParam = 172,
180    RemoveAllItems = 173,
181    WakeUpPC = 174,
182    IsPCSleeping = 175,
183    IsPCAMurderer = 176,
184    SetCombatStyle = 177,
185    PlaySound3D = 178,
186    SelectPlayerSpell = 179,
187    HasSameEditorLocAsRef = 180,
188    HasSameEditorLocAsRefAlias = 181,
189    GetEquipped = 182,
190    Wait = 183,
191    StopWaiting = 184,
192    IsSwimming = 185,
193    ScriptEffectElapsedSeconds = 186,
194    SetCellPublicFlag = 187,
195    GetPCSleepHours = 188,
196    SetPCSleepHours = 189,
197    GetAmountSoldStolen = 190,
198    ModAmountSoldStolen = 191,
199    GetIgnoreCrime = 192,
200    GetPCExpelled = 193,
201    SetPCExpelled = 194,
202    GetPCFactionMurder = 195,
203    SetPCFactionMurder = 196,
204    GetPCEnemyofFaction = 197,
205    SetPCEnemyofFaction = 198,
206    GetPCFactionAttack = 199,
207    SetPCFactionAttack = 200,
208    StartScene = 201,
209    StopScene = 202,
210    GetDestroyed = 203,
211    SetDestroyed = 204,
212    GetActionRef = 205,
213    GetSelf = 206,
214    GetContainer = 207,
215    GetForceRun = 208,
216    SetForceRun = 209,
217    GetForceSneak = 210,
218    SetForceSneak = 211,
219    AdvancePCSkill = 212,
220    AdvancePCLevel = 213,
221    HasMagicEffect = 214,
222    GetDefaultOpen = 215,
223    SetDefaultOpen = 216,
224    ShowClassMenu = 217,
225    ShowRaceMenu = 218,
226    GetAnimAction = 219,
227    ShowNameMenu = 220,
228    SetOpenState = 221,
229    ResetReference = 222,
230    IsSpellTarget = 223,
231    GetVATSMode = 224,
232    GetPersuasionNumber = 225,
233    GetVampireFeed = 226,
234    GetCannibal = 227,
235    GetIsClassDefault = 228,
236    GetClassDefaultMatch = 229,
237    GetInCellParam = 230,
238    UnusedFunction1 = 231,
239    GetCombatTarget = 232,
240    GetPackageTarget = 233,
241    ShowSpellMaking = 234,
242    GetVatsTargetHeight = 235,
243    SetGhost = 236,
244    GetIsGhost = 237,
245    EquipItem = 238,
246    UnequipItem = 239,
247    SetClass = 240,
248    SetUnconscious = 241,
249    GetUnconscious = 242,
250    SetRestrained = 243,
251    GetRestrained = 244,
252    ForceFlee = 245,
253    GetIsUsedItem = 246,
254    GetIsUsedItemType = 247,
255    IsScenePlaying = 248,
256    IsInDialogueWithPlayer = 249,
257    GetLocationCleared = 250,
258    SetLocationCleared = 251,
259    ForceRefIntoAlias = 252,
260    EmptyRefAlias = 253,
261    GetIsPlayableRace = 254,
262    GetOffersServicesNow = 255,
263    GetGameSetting = 256,
264    StopCombatAlarmOnActor = 257,
265    HasAssociationType = 258,
266    HasFamilyRelationship = 259,
267    SetWeather = 260,
268    HasParentRelationship = 261,
269    IsWarningAbout = 262,
270    IsWeaponOut = 263,
271    HasSpell = 264,
272    IsTimePassing = 265,
273    IsPleasant = 266,
274    IsCloudy = 267,
275    TrapUpdate = 268,
276    ShowQuestObjectives = 269,
277    ForceActorValue = 270,
278    IncrementPCSkill = 271,
279    DoTrap = 272,
280    EnableFastTravel = 273,
281    IsSmallBump = 274,
282    GetParentRef = 275,
283    PlayBink = 276,
284    GetBaseActorValue = 277,
285    IsOwner = 278,
286    SetOwnership = 279,
287    IsCellOwner = 280,
288    SetCellOwnership = 281,
289    IsHorseStolen = 282,
290    SetCellFullName = 283,
291    SetActorFullName = 284,
292    IsLeftUp = 285,
293    IsSneaking = 286,
294    IsRunning = 287,
295    GetFriendHit = 288,
296    IsInCombat = 289,
297    SetPackDuration = 290,
298    PlayMagicShaderVisuals = 291,
299    PlayMagicEffectVisuals = 292,
300    StopMagicShaderVisuals = 293,
301    StopMagicEffectVisuals = 294,
302    ResetInterior = 295,
303    IsAnimPlaying = 296,
304    SetActorAlpha = 297,
305    EnableLinkedPathPoints = 298,
306    DisableLinkedPathPoints = 299,
307    IsInInterior = 300,
308    ForceWeather = 301,
309    ToggleActorsAI = 302,
310    IsActorsAIOff = 303,
311    IsWaterObject = 304,
312    GetPlayerAction = 305,
313    IsActorUsingATorch = 306,
314    SetLevel = 307,
315    ResetFallDamageTimer = 308,
316    IsXBox = 309,
317    GetInWorldspace = 310,
318    ModPCMiscStat = 311,
319    GetPCMiscStat = 312,
320    GetPairedAnimation = 313,
321    IsActorAVictim = 314,
322    GetTotalPersuasionNumber = 315,
323    SetScale = 316,
324    ModScale = 317,
325    GetIdleDoneOnce = 318,
326    KillAllActors = 319,
327    GetNoRumors = 320,
328    SetNoRumors = 321,
329    Dispel = 322,
330    GetCombatState = 323,
331    TriggerHitShader = 324,
332    GetWithinPackageLocation = 325,
333    Reset3DState = 326,
334    IsRidingMount = 327,
335    DispelAllSpells = 328,
336    IsFleeing = 329,
337    AddAchievement = 330,
338    DuplicateAllItems = 331,
339    IsInDangerousWater = 332,
340    EssentialDeathReload = 333,
341    SetShowQuestItems = 334,
342    DuplicateNPCStats = 335,
343    ResetHealth = 336,
344    SetIgnoreFriendlyHits = 337,
345    GetIgnoreFriendlyHits = 338,
346    IsPlayersLastRiddenMount = 339,
347    SetActorRefraction = 340,
348    SetItemValue = 341,
349    SetRigidBodyMass = 342,
350    ShowViewerStrings = 343,
351    ReleaseWeatherOverride = 344,
352    SetAllReachable = 345,
353    SetAllVisible = 346,
354    SetNoAvoidance = 347,
355    SendTrespassAlarm = 348,
356    SetSceneIsComplex = 349,
357    Autosave = 350,
358    StartMasterFileSeekData = 351,
359    DumpMasterFileSeekData = 352,
360    IsActor = 353,
361    IsEssential = 354,
362    PreloadMagicEffect = 355,
363    ShowDialogSubtitles = 356,
364    SetPlayerResistingArrest = 357,
365    IsPlayerMovingIntoNewSpace = 358,
366    GetInCurrentLoc = 359,
367    GetInCurrentLocAlias = 360,
368    GetTimeDead = 361,
369    HasLinkedRef = 362,
370    GetLinkedRef = 363,
371    DamageObject = 364,
372    IsChild = 365,
373    GetStolenItemValueNoCrime = 366,
374    GetLastPlayerAction = 367,
375    IsPlayerActionActive = 368,
376    SetTalkingActivatorActor = 369,
377    IsTalkingActivatorActor = 370,
378    ShowBarterMenu = 371,
379    IsInList = 372,
380    GetStolenItemValue = 373,
381    AddPerk = 374,
382    GetCrimeGoldViolent = 375,
383    GetCrimeGoldNonviolent = 376,
384    ShowRepairMenu = 377,
385    HasShout = 378,
386    AddNote = 379,
387    RemoveNote = 380,
388    GetHasNote = 381,
389    AddToFaction = 382,
390    RemoveFromFaction = 383,
391    DamageActorValue = 384,
392    RestoreActorValue = 385,
393    TriggerHUDShudder = 386,
394    GetObjectiveFailed = 387,
395    SetObjectiveFailed = 388,
396    SetGlobalTimeMultiplier = 389,
397    GetHitLocation = 390,
398    IsPC1stPerson = 391,
399    PurgeCellBuffers = 392,
400    PushActorAway = 393,
401    SetActorsAI = 394,
402    ClearOwnership = 395,
403    GetCauseofDeath = 396,
404    IsLimbGone = 397,
405    IsWeaponInList = 398,
406    PlayIdle = 399,
407    ApplyImageSpaceModifier = 400,
408    RemoveImageSpaceModifier = 401,
409    IsBribedbyPlayer = 402,
410    GetRelationshipRank = 403,
411    SetRelationshipRank = 404,
412    SetCellImageSpace = 405,
413    ShowChargenMenu = 406,
414    GetVATSValue = 407,
415    IsKiller = 408,
416    IsKillerObject = 409,
417    GetFactionCombatReaction = 410,
418    UseWeapon = 411,
419    EvaluateSpellConditions = 412,
420    ToggleMotionBlur = 413,
421    Exists = 414,
422    GetGroupMemberCount = 415,
423    GetGroupTargetCount = 416,
424    SetObjectiveCompleted = 417,
425    SetObjectiveDisplayed = 418,
426    GetObjectiveCompleted = 419,
427    GetObjectiveDisplayed = 420,
428    SetImageSpace = 421,
429    PipboyRadio = 422,
430    RemovePerk = 423,
431    DisableAllActors = 424,
432    GetIsFormType = 425,
433    GetIsVoiceType = 426,
434    GetPlantedExplosive = 427,
435    CompleteAllObjectives = 428,
436    IsScenePackageRunning = 429,
437    GetHealthPercentage = 430,
438    SetAudioMultithreading = 431,
439    GetIsObjectType = 432,
440    ShowChargenMenuParams = 433,
441    GetDialogueEmotion = 434,
442    GetDialogueEmotionValue = 435,
443    ExitGame = 436,
444    GetIsCreatureType = 437,
445    PlayerCreatePotion = 438,
446    PlayerEnchantObject = 439,
447    ShowWarning = 440,
448    EnterTrigger = 441,
449    MarkForDelete = 442,
450    SetPlayerAIDriven = 443,
451    GetInCurrentLocFormList = 444,
452    GetInZone = 445,
453    GetVelocity = 446,
454    GetGraphVariableFloat = 447,
455    HasPerk = 448,
456    GetFactionRelation = 449,
457    IsLastIdlePlayed = 450,
458    SetNPCRadio = 451,
459    SetPlayerTeammate = 452,
460    GetPlayerTeammate = 453,
461    GetPlayerTeammateCount = 454,
462    OpenActorContainer = 455,
463    ClearFactionPlayerEnemyFlag = 456,
464    ClearActorsFactionsPlayerEnemyFlag = 457,
465    GetActorCrimePlayerEnemy = 458,
466    GetCrimeGold = 459,
467    SetCrimeGold = 460,
468    ModCrimeGold = 461,
469    GetPlayerGrabbedRef = 462,
470    IsPlayerGrabbedRef = 463,
471    PlaceLeveledActorAtMe = 464,
472    GetKeywordItemCount = 465,
473    ShowLockpickMenu = 466,
474    GetBroadcastState = 467,
475    SetBroadcastState = 468,
476    StartRadioConversation = 469,
477    GetDestructionStage = 470,
478    ClearDestruction = 471,
479    CastImmediateOnSelf = 472,
480    GetIsAlignment = 473,
481    ResetQuest = 474,
482    SetQuestDelay = 475,
483    IsProtected = 476,
484    GetThreatRatio = 477,
485    MatchFaceGeometry = 478,
486    GetIsUsedItemEquipType = 479,
487    GetPlayerName = 480,
488    FireWeapon = 481,
489    PayCrimeGold = 482,
490    UnusedFunction2 = 483,
491    MatchRace = 484,
492    SetPCYoung = 485,
493    SexChange = 486,
494    IsCarryable = 487,
495    GetConcussed = 488,
496    SetZoneRespawns = 489,
497    SetVATSTarget = 490,
498    GetMapMarkerVisible = 491,
499    ResetInventory = 492,
500    PlayerKnows = 493,
501    GetPermanentActorValue = 494,
502    GetKillingBlowLimb = 495,
503    GoToJail = 496,
504    CanPayCrimeGold = 497,
505    ServeTime = 498,
506    GetDaysInJail = 499,
507    EPAlchemyGetMakingPoison = 500,
508    EPAlchemyEffectHasKeyword = 501,
509    ShowAllMapMarkers = 502,
510    GetAllowWorldInteractions = 503,
511    ResetAI = 504,
512    SetRumble = 505,
513    SetNoActivationSound = 506,
514    ClearNoActivationSound = 507,
515    GetLastHitCritical = 508,
516    AddMusic = 509,
517    UnusedFunction3 = 510,
518    UnusedFunction4 = 511,
519    SetPCToddler = 512,
520    IsCombatTarget = 513,
521    TriggerScreenBlood = 514,
522    GetVATSRightAreaFree = 515,
523    GetVATSLeftAreaFree = 516,
524    GetVATSBackAreaFree = 517,
525    GetVATSFrontAreaFree = 518,
526    GetIsLockBroken = 519,
527    IsPS3 = 520,
528    IsWin32 = 521,
529    GetVATSRightTargetVisible = 522,
530    GetVATSLeftTargetVisible = 523,
531    GetVATSBackTargetVisible = 524,
532    GetVATSFrontTargetVisible = 525,
533    AttachAshPile = 526,
534    SetCriticalStage = 527,
535    IsInCriticalStage = 528,
536    RemoveFromAllFactions = 529,
537    GetXPForNextLevel = 530,
538    ShowLockpickMenuDebug = 531,
539    ForceSave = 532,
540    GetInfamy = 533,
541    GetInfamyViolent = 534,
542    GetInfamyNonViolent = 535,
543    UnusedFunction5 = 536,
544    Sin = 537,
545    Cos = 538,
546    Tan = 539,
547    Sqrt = 540,
548    Log = 541,
549    Abs = 542,
550    GetQuestCompleted = 543,
551    UnusedFunction6 = 544,
552    PipBoyRadioOff = 545,
553    AutoDisplayObjectives = 546,
554    IsGoreDisabled = 547,
555    FadeSFX = 548,
556    SetMinimalUse = 549,
557    IsSceneActionComplete = 550,
558    ShowQuestStages = 551,
559    GetSpellUsageNum = 552,
560    ForceRadioStationUpdate = 553,
561    GetActorsInHigh = 554,
562    HasLoaded3D = 555,
563    DisableAllMines = 556,
564    SetLastExtDoorActivated = 557,
565    KillQuestUpdates = 558,
566    IsImageSpaceActive = 559,
567    HasKeyword = 560,
568    HasRefType = 561,
569    LocationHasKeyword = 562,
570    LocationHasRefType = 563,
571    CreateEvent = 564,
572    GetIsEditorLocation = 565,
573    GetIsAliasRef = 566,
574    GetIsEditorLocAlias = 567,
575    IsSprinting = 568,
576    IsBlocking = 569,
577    HasEquippedSpell = 570,
578    GetCurrentCastingType = 571,
579    GetCurrentDeliveryType = 572,
580    EquipSpell = 573,
581    GetAttackState = 574,
582    GetAliasedRef = 575,
583    GetEventData = 576,
584    IsCloserToAThanB = 577,
585    EquipShout = 578,
586    GetEquippedShout = 579,
587    IsBleedingOut = 580,
588    UnlockWord = 581,
589    TeachWord = 582,
590    AddToContainer = 583,
591    GetRelativeAngle = 584,
592    SendAnimEvent = 585,
593    Shout = 586,
594    AddShout = 587,
595    RemoveShout = 588,
596    GetMovementDirection = 589,
597    IsInScene = 590,
598    GetRefTypeDeadCount = 591,
599    GetRefTypeAliveCount = 592,
600    ApplyHavokImpulse = 593,
601    GetIsFlying = 594,
602    IsCurrentSpell = 595,
603    SpellHasKeyword = 596,
604    GetEquippedItemType = 597,
605    GetLocationAliasCleared = 598,
606    SetLocationAliasCleared = 599,
607    GetLocAliasRefTypeDeadCount = 600,
608    GetLocAliasRefTypeAliveCount = 601,
609    IsWardState = 602,
610    IsInSameCurrentLocAsRef = 603,
611    IsInSameCurrentLocAsRefAlias = 604,
612    LocAliasIsLocation = 605,
613    GetKeywordDataForLocation = 606,
614    SetKeywordDataForLocation = 607,
615    GetKeywordDataForAlias = 608,
616    SetKeywordDataForAlias = 609,
617    LocAliasHasKeyword = 610,
618    IsNullPackageData = 611,
619    GetNumericPackageData = 612,
620    IsFurnitureAnimType = 613,
621    IsFurnitureEntryType = 614,
622    GetHighestRelationshipRank = 615,
623    GetLowestRelationshipRank = 616,
624    HasAssociationTypeAny = 617,
625    HasFamilyRelationshipAny = 618,
626    GetPathingTargetOffset = 619,
627    GetPathingTargetAngleOffset = 620,
628    GetPathingTargetSpeed = 621,
629    GetPathingTargetSpeedAngle = 622,
630    GetMovementSpeed = 623,
631    GetInContainer = 624,
632    IsLocationLoaded = 625,
633    IsLocAliasLoaded = 626,
634    IsDualCasting = 627,
635    DualCast = 628,
636    GetVMQuestVariable = 629,
637    GetVMScriptVariable = 630,
638    IsEnteringInteractionQuick = 631,
639    IsCasting = 632,
640    GetFlyingState = 633,
641    SetFavorState = 634,
642    IsInFavorState = 635,
643    HasTwoHandedWeaponEquipped = 636,
644    IsExitingInstant = 637,
645    IsInFriendStateWithPlayer = 638,
646    GetWithinDistance = 639,
647    GetActorValuePercent = 640,
648    IsUnique = 641,
649    GetLastBumpDirection = 642,
650    CameraShake = 643,
651    IsInFurnitureState = 644,
652    GetIsInjured = 645,
653    GetIsCrashLandRequest = 646,
654    GetIsHastyLandRequest = 647,
655    UpdateQuestInstanceGlobal = 648,
656    SetAllowFlying = 649,
657    IsLinkedTo = 650,
658    GetKeywordDataForCurrentLocation = 651,
659    GetInSharedCrimeFaction = 652,
660    GetBribeAmount = 653,
661    GetBribeSuccess = 654,
662    GetIntimidateSuccess = 655,
663    GetArrestedState = 656,
664    GetArrestingActor = 657,
665    ClearArrestState = 658,
666    EPTemperingItemIsEnchanted = 659,
667    EPTemperingItemHasKeyword = 660,
668    GetReceivedGiftValue = 661,
669    GetGiftGivenValue = 662,
670    ForceLocIntoAlias = 663,
671    GetReplacedItemType = 664,
672    SetHorseActor = 665,
673    PlayReferenceEffect = 666,
674    StopReferenceEffect = 667,
675    PlayShaderParticleGeometry = 668,
676    StopShaderParticleGeometry = 669,
677    ApplyImageSpaceModifierCrossFade = 670,
678    RemoveImageSpaceModifierCrossFade = 671,
679    IsAttacking = 672,
680    IsPowerAttacking = 673,
681    IsLastHostileActor = 674,
682    GetGraphVariableInt = 675,
683    GetCurrentShoutVariation = 676,
684    PlayImpactEffect = 677,
685    ShouldAttackKill = 678,
686    SendStealAlarm = 679,
687    GetActivationHeight = 680,
688    EPModSkillUsage_IsAdvanceSkill = 681,
689    WornHasKeyword = 682,
690    GetPathingCurrentSpeed = 683,
691    GetPathingCurrentSpeedAngle = 684,
692    KnockAreaEffect = 685,
693    InterruptCast = 686,
694    AddFormToFormList = 687,
695    RevertFormList = 688,
696    AddFormToLeveledList = 689,
697    RevertLeveledList = 690,
698    EPModSkillUsage_AdvanceObjectHasKeyword = 691,
699    EPModSkillUsage_IsAdvanceAction = 692,
700    EPMagic_SpellHasKeyword = 693,
701    GetNoBleedoutRecovery = 694,
702    SetNoBleedoutRecovery = 695,
703    EPMagic_SpellHasSkill = 696,
704    IsAttackType = 697,
705    IsAllowedToFly = 698,
706    HasMagicEffectKeyword = 699,
707    IsCommandedActor = 700,
708    IsStaggered = 701,
709    IsRecoiling = 702,
710    IsExitingInteractionQuick = 703,
711    IsPathing = 704,
712    GetShouldHelp = 705,
713    HasBoundWeaponEquipped = 706,
714    GetCombatTargetHasKeyword = 707,
715    UpdateLevel = 708,
716    GetCombatGroupMemberCount = 709,
717    IsIgnoringCombat = 710,
718    GetLightLevel = 711,
719    SavePCFace = 712,
720    SpellHasCastingPerk = 713,
721    IsBeingRidden = 714,
722    IsUndead = 715,
723    GetRealHoursPassed = 716,
724    UnequipAll = 717,
725    IsUnlockedDoor = 718,
726    IsHostileToActor = 719,
727    GetTargetHeight = 720,
728    IsPoison = 721,
729    WornApparelHasKeywordCount = 722,
730    GetItemHealthPercent = 723,
731    EffectWasDualCast = 724,
732    GetKnockStateEnum = 725,
733    DoesNotExist = 726,
734    UnequipItemSlot = 727,
735    MountActor = 728,
736    DismountActor = 729,
737    IsOnFlyingMount = 730,
738    CanFlyHere = 731,
739    IsFlyingMountPatrolQueued = 732,
740    IsFlyingMountFastTravelling = 733,
741    IsOverEncumbered = 734,
742    GetActorWarmth = 735,
743}
744
745#[repr(C)]
746#[derive(Debug)]
747pub struct FunctionData {
748    pub function: FunctionID_CEnum,          // 0x00
749    pub pad02: u16,                          // 0x02
750    pub pad04: u32,                          // 0x04
751    pub params: [*mut core::ffi::c_void; 2], // 0x08
752}
753const _: () = assert!(std::mem::size_of::<FunctionData>() == 0x18);
754
755impl FunctionData {
756    #[inline]
757    pub const fn new() -> Self {
758        Self {
759            function: FunctionID_CEnum(u16::MAX),
760            pad02: 0,
761            pad04: 0,
762            params: [core::ptr::null_mut(); 2],
763        }
764    }
765}
766
767impl Default for FunctionData {
768    #[inline]
769    fn default() -> Self {
770        Self::new()
771    }
772}